Class-based Visibility from an MDA Perspective: From Access Graphs to Eiffel Code
نویسندگان
چکیده
Encapsulation is one of the main principles in object-oriented software construction. Reducing software component coupling and enforcing interface definition facilitates maintenance, reusability and incremental development, thus increasing software quality. Encapsulation is usually supported by specific access control (visibility) mechanisms as private or protected in Java and C++ or Eiffel’s exporting mechanism. These mechanisms are often static and class-based, sometimes method-based, giving classes the status of both the client and service provider. They help in hiding implementation as well as capturing part of the domain rules on access rights. We explore solutions for introducing design and implementation of class-based access control from a Model-Driven Architecture (MDA) perspective. As UML proposes only language-dependent solutions for access control representation, we consider extending UML with access graphs, a formalism previously introduced for comparing and reasoning about static access rights. In this paper, we describe the integration of AGATE, a suite of access graph based tools dedicated to access control, in the MDA process. We focus on two access control design tools operating at the Platform-Independent Model (PIM) level: the Rule Adapter makes access graphs compliant with specific design rules while the Client Discovery Module adds new relevant classes expressing client organization. Mapping to a Platform-Specific Model (PSM) is illustrated with the Eiffel Access Graph Adapter and rules for generating code from this PSM are presented.
منابع مشابه
Eiffel Assertions and the External Structure of Classes and Objects
The “external structure” in an object oriented system refers here to the graphs of objects and classes. The class structure graph or class model is derived from the object structure graph or object model, and in this operation structural information is lost, or never made explicit. Although object oriented programming languages capture the class model as declarations, contradictory assumptions ...
متن کاملSECG: The SCOOP-to-Eiffel Code Generator
The Simple Concurrent Object-Oriented Programming (SCOOP) mechanism introduces inter-object concurrency to the Eiffel language, via addition of one new keyword, separate. We describe a general tool that takes a Eiffel program that uses the separate keyword and translates it into an Eiffel multi-threaded program that uses the Eiffel T HREAD class. The resulting code is thereafter compatible with...
متن کاملFoundations for MDA-based Forward Engineering
Model Driven Architecture (MDA) is an emerging technology that is supposed to provide a technical framework for information integration and tools interoperation; many UML tools claim to be compliant with it. Model-to-model transformations are essential in MDA. This article describes foundations for UML-based transformation tools. We introduce the NEREUS language to cope with concepts of UML met...
متن کاملDiff library in Eiffel (Diffeif)
The Diffeif library is a library which provides functionality for computing the difference of two code or text chunks and visualize it in a GUI. The library is implemented in and for Eiffel. Finding the difference of two code or text pieces is a common problem. There exists a bunch of algorithms for computing such a difference. The most widely used algorithms are line-based, which can easily be...
متن کاملEpileptic seizure detection based on The Limited Penetrable visibility graph algorithm and graph properties
Introduction: Epileptic seizure detection is a key step for both researchers and epilepsy specialists for epilepsy assessment due to the non-stationariness and chaos in the electroencephalogram (EEG) signals. Current research is directed toward the development of an efficient method for epilepsy or seizure detection based the limited penetrable visibility graph (LPVG) algorith...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- Journal of Object Technology
دوره 3 شماره
صفحات -
تاریخ انتشار 2004